const obj = {
  name: 'zhangsan',
};

const prototype = {
  name: 'lisi',
};

const p = new Proxy(obj, {
  /**
   *
   * @param {*} target 目标对象
   * @param {*} prop 被设置的原型
   * @returns 必须返回一个boolean值,来表示是否设置成功,如果返回false会抛出错误
   */
  setPrototypeOf: (target, prop) => {
    console.log(target, prop);
    Object.setPrototypeOf(target, prop);
    return true;
  },
});

Object.setPrototypeOf(p, prototype); // 可以被拦截

console.log('设置原型后的结果:', p);
